#define _CRT_SECURE_NO_WARNINGS 1

#include"queue.h"
#include <iostream>

using namespace kia;
using namespace std;

int main()
{
	queue<int> q1;
	q1.push(1);
	cout << "back:" << q1.back() << ' ';
	cout << "front:" << q1.front() << ' ';
	q1.push(2);
	cout << "back:" << q1.back() << ' ';
	cout << "front:" << q1.front() << ' ';
	q1.push(3);
	cout << "back:" << q1.back() << ' ';
	cout << "front:" << q1.front() << ' ';
	q1.push(4);
	cout << "back:" << q1.back() << ' ';
	cout << "front:" << q1.front() << ' ';
	q1.push(5);
	cout << "back:" << q1.back() << ' ';
	cout << "front:" << q1.front() << ' ';
	q1.push(6);
	const queue<int> q2(q1);
	while (!q1.empty())
	{
		cout << "back:" << q1.back()<<' ';
		cout << "front:" << q1.front()<<' ';
		cout << q1.front() << ' ';
		q1.pop();
		cout << "size:" << q1.size() << endl;
		
	}
	cout << endl;
	cout << "back:" << q2.back() << ' ';
	cout << "front:" << q2.front() << ' ';

	queue<int> q3(q2);
	cout << "size:" << q1.size();
	cout << "size:" << q3.size();
	q3.swap(q1);
	cout << "size:" << q1.size();
	cout << "size:" << q3.size();
	return 0;
}